This invention relates generally to managing networking, storage, and other services for computing hosts and particularly to managing services across one or more cloud computing providers.
In cloud computing architectures, computing hosts are provided for a subscriber by various cloud computing providers. A cloud computing provider operates a large assembly of physical computer systems, each with processor, memory, storage, and networking capabilities. The capabilities (equivalently, services) of these physical computer systems are made available via virtualized host computers (aka Virtual Machines, or VMs), each with virtual processor, memory, storage, networking capabilities. A subscriber obtains access to some portion of overall services via some number of provisioned hosts. For example, a cloud computing provider may provide one or more computing hosts executing a Linux operating system for use by a subscriber.
Commonly, a subscriber uses multiple cloud computing providers concurrently, to obtain different types and levels of services. Each cloud computing provider may provide discrete services for managing the hosts on each of these cloud computing providers, but because each cloud computer provider operates differently, it may be difficult for the subscriber to effectively utilize these services across more than one cloud computing provider interchangeably and may overly rely on tools or other techniques particular to that cloud computing provider. This may prevent effective use of more than one cloud computing provider by a subscriber, and limit a subscriber to the tools and systems made available by the particular cloud computing provider. That is, each cloud computing provider may provide discrete services which cannot be effectively leveraged by with systems operated at other providers. Subscribers cannot utilize cloud providers as a computing utility that offers commoditized services that can be obtained from a variety of providers.